package com.ocn.li.scmdy.common.utils;


import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;

/***
    * @ClassName: SerializeUtil
    * @Description: 序列化工具类
    * @author zhw
    * @date 2017年2月16日
    * @version V1.0
 */
public class SerializeUtil {

	/***
	    * @Title: serialize
	    * @Description: 序列化实体
	    * @param @param object
	    * @param @return    参数
	    * @return byte[]    返回类型
		* @author zhw
	    * @date 2017年2月16日
	 */
	public static byte[] serialize(Object object) {
		ObjectOutputStream oos = null;
		ByteArrayOutputStream baos = null;
		byte[] bytes = null;
		if(null!=object){
			try {
				baos = new ByteArrayOutputStream();
				oos = new ObjectOutputStream(baos);
				oos.writeObject(object);
				bytes = baos.toByteArray();
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
		return bytes;
	}

	/***
	    * @Title: unserialize
	    * @Description: 反序列化
	    * @param @param bytes
	    * @param @return    参数
	    * @return Object    返回类型
		* @author zhw
	    * @date 2017年2月16日
	 */
	public static Object unserialize(byte[] bytes) {
		ByteArrayInputStream bais = null;
		Object object = new Object();
		if(null!=bytes&&bytes.length>0){
			try {
				bais = new ByteArrayInputStream(bytes);
				ObjectInputStream ois = new ObjectInputStream(bais);
				object = ois.readObject();
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
		return object;
	}
}